urho3dfandomcom_ru-20200215-history
Создание проекта
Прежде чем создать проект, необходимо скомпилировать сам движок. Рекомендуется скомпилировать несколько вариантов движков: один с полным набором функций, для того что бы запускать на нём, ваши скрипты и пользоваться редактором Editor, и еще один или несколько с определённым набором функций (например если в Вашей игре не нужна сеть, то мы и компилируем движок без поддержки сети), для того чтобы уменьшить размер готовой игры. Подготовка. Копирование и создание нужных файлов, каталогов. 1. Создайте каталог проекта (напр. SimpleProject). 2. Скопируйте из каталога движка, каталог CMake/ и файл cmake_generic.bat (или *.sh для *nix систем). Также, если Вам необходимо сгенерировать проект для конкретной(ых) цели (например для работы в IDE codeblocks), то скопируйте еще файлы с нужным названием cmake_*.bat / cmake_*.sh. 3. В корневом каталоге проекта создайте также каталог bin, в нём еще 2 каталога: Data и CoreData. Оба каталога Data и CoreData, Вы можете скопировать из каталога bin движка, что бы иметь базовый набор данных для проекта. 4. Создайте в папке проекта текстовый файл CMakeLists.txt со следующим содержимым: # Set project name project (SimpleProject) # Define target name set (TARGET_NAME SimpleProject) ###################################### # Set minimum version cmake_minimum_required (VERSION 2.8.6) if (COMMAND cmake_policy) cmake_policy (SET CMP0003 NEW) if (CMAKE_VERSION VERSION_GREATER 2.8.12 OR CMAKE_VERSION VERSION_EQUAL 2.8.12) # INTERFACE_LINK_LIBRARIES defines the link interface cmake_policy (SET CMP0022 NEW) endif () if (CMAKE_VERSION VERSION_GREATER 3.0.0 OR CMAKE_VERSION VERSION_EQUAL 3.0.0) # Disallow use of the LOCATION target property - therefore we set to OLD as # we still need it cmake_policy (SET CMP0026 OLD) # MACOSX_RPATH is enabled by default cmake_policy (SET CMP0042 NEW) endif () endif () # Set CMake modules search path set (CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/CMake/Modules) # Include Urho3D Cmake common module include (Urho3D-CMake-common) # Find Urho3D library find_package (Urho3D REQUIRED) include_directories (${URHO3D_INCLUDE_DIRS}) # Define source files define_source_files () # Setup target with resource copying setup_main_executable () Название SimpleProject необходимо изменять на имя Вашего проекта. В этом примере оно останется без изменений. 5. В корневом каталоге создавайте файлы с исходным кодом. Для примера создайте файл main.cpp со следующим содержимым: #include // Чтобы везде не писать Urho3D::ИмяТипа. using namespace Urho3D; // Главный класс игры. class Game : public Application { // Макрос добавляет в класс информацию о текущем и базовом типе. URHO3D_OBJECT(Game, Application); public: // Конструктор класса. Game(Context* context) : Application(context) { } }; // Указываем движку главный класс игры. URHO3D_DEFINE_APPLICATION_MAIN(Game) Или можете взять отсюда. 6. В итоге должна получится такая структура: / ├ bin/ │ ├ Data/ │ └ CoreData/ ├ CMake/ │ ├ Modules/ │ └ Toolchains/ ├ CMakeLists.txt ├ *.cpp и *.h └ *.bat или *.sh Подготовка к сборке 'Путь первый': консольный Используйте целевой скриптовый файл для сборки проекта. Для примера используем скрипт для codeblocks. Скрипту необходимо указать куда будет сгенерирован проект и файл для проекта codeblocks. Также, в моём случае, скрипт потребовал указать URHO3D_HOME, это каталог с предварительно скомпилированным движком. Также необходимо указать те параметры, с которыми был предварительно собран движок. Если в Вашей игре не используется сеть, то и указывается в URHO3D_HOME скомпилированный движок без поддержки сети. user@comp ~/SimpleProject $ ./cmake_codeblocks.sh build -DURHO3D_HOME=/path/to/URHO3D_BUILDTREE -DURHO3D_NETWORK=0 Полный список параметров можно посмотреть в документации. 'Путь второй:' cmake-gui Открываем cmake-gui. Выбираем каталог с проектом "Browse Source..." и путь куда будет сгенерирован проект "Browse Build...". Жмём Configure. В открывшемся диалоге выбираем генератор для проекта. Жмём Finish. Во время конфигурации может появится ошибка. Скорее всего необходимо, как и в случае c консолью, необходимо указать URHO3D_HOME. Как и в случае с консолью, необходимо указывать те же настройки, что и при компиляции движка. Наконец жмём Generate. В итоге получаем в каталоге build файл проекта для codeblocks. Запуск Созданный на предыдущем шаге файл проекта, открываем в IDE. Выбираем цель "SimpleProject" и жмём "build and run". thumb|noneТак как у нас в примере использовался файл с минимальным приложением, то запустится приложение просто с черным экраном. Закрыть его можно комбинацией клавишь alt+f4.